// 引入request
import { request } from "../../request/index";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 左侧的菜单数据
    leftMenuList: [],
    // 右侧的商品数据
    rigthContent: [],
    // 被点击的左侧菜单
    currentIndex: 0,
    // 右侧内容的滚动条距离顶部的距离
    scrollTop:0,
  },
  Cates: [],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 判断本地存储中有没有这个数据 没有直接发送请求 如果有数据，数据没有过期就使用本地存储的数据

    // 先获取本地存储中的数据
    const Cates = wx.getStorageSync("cates");
    // 判断
    if (!Cates) {
      this.getCates();
    } else {
      // 定义过期时间
      if (Date.now() - Cates.time > 1000 * 10) {
        this.getCates();
      } else {
        // console.log("存储里有数据");
        this.Cates = Cates.data;
        let leftMenuList = this.Cates.map((v) => v.cat_name);
        let rigthContent = this.Cates[0].children;
        this.setData({
          leftMenuList,
          rigthContent,
        });
      }
    }
  },
  // 获取分类数据
  async getCates() {
    // request({
    //   url: "/categories",
    // }).then((res) => {
    //   // console.log(res);
    //   this.Cates = res.data.message;
    //   // 把接口的数据存入到本地存储中
    //   wx.setStorageSync("cates", { time: Date.now(), data: this.Cates });
    //   // 构造左侧的大菜单数据
    //   let leftMenuList = this.Cates.map((v) => v.cat_name);
    //   // 构造右侧的商品数据
    //   let rigthContent = this.Cates[0].children;
    //   this.setData({
    //     leftMenuList,
    //     rigthContent,
    //   });
    // });
    // 使用ES7的 async  await
    const res = await request({ url: "/categories" });
    // this.Cates = res.data.message;
    this.Cates = res;
    // 把接口的数据存入到本地存储中
    wx.setStorageSync("cates", { time: Date.now(), data: this.Cates });
    // 构造左侧的大菜单数据
    let leftMenuList = this.Cates.map(v => v.cat_name);
    // 构造右侧的商品数据
    let rigthContent = this.Cates[0].children;
    this.setData({
      leftMenuList,
      rigthContent
    })
  },
  handleItemTap(e) {
    // console.log(e);
    // 拿到当前被点击的下标
    const { index } = e.currentTarget.dataset;
    // Cates[0] 索引改成被当前点击的下标
    let rigthContent = this.Cates[index].children;
    this.setData({
      // 赋值给 currentIndex
      currentIndex: index,
      rigthContent,
      scrollTop:0
    });
   
   
  },
});
